The present invention generally relates to speech recognition systems, and more particularly to a speech recognition system in which a speech information inputted thereto is recognized and converted into a set of characters equivalent to a keystroke information normally inputted to a keyboard so that the set of characters thus converted is inputted to an existing application program running on a computer system.
A conventional speech recognition system usually employs known techniques of speech input processing and speech recognition which are started by a command transferred from a central processing unit (CPU) of a computer system to the speech recognition system. After the speech input processing and the speech recognition are completed, the conventional speech recognition system supplies results of the speech recognition to the computer system, and a program for running the speech recognition system is placed in a waiting state in which the speech recognition system is waiting for a next command to be received from the CPU. The speech recognition is started by causing the computer system to transfer a command to the speech recognition system. The speech recognition system supplies the recognition results to the computer system in reply to the command transferred each time a speech input request is made so that the computer system performs a desired job. For this purpose, the program which runs the speech recognition system on the computer system must have a routine to make the computer system transfer a start command to the speech recognition system, a routine to supply the recognition results from the speech recognition system to the computer system in reply to the start command, and a routine to urge an operator to input a speech information from a microphone to the speech recognition system each time a speech input request is made. In order to make use of the speech recognition system with several kinds of existing application programs which are commercially available, it is necessary to install the above described several routines into each of these application programs. However, much time and labor to make modifications within the existing application programs to install the above described routines are required to put the conventional speech recognition system into practical use. And, the conventional speech recognition system still has a problem in that a parallel operation for performing a keyboard input processing and a speech input processing in a parallel manner is difficult to carry out and that an operational trouble is often caused in the computer system when such a parallel operation is performed.
Generally, a keyboard interrupt routine is used by the conventional speech recognition system to start the speech input processing. However, there is a problem in that a keyboard interrupt does not necessarily take place at an appropriate time for operation of the computer system. This keyboard interrupt is an external hardware interrupt by which an interrupt signal is supplied each time any key on the keyboard is depressed by an operator to enable an external interrupt into a main application program running on the computer system. However, the concept of choosing an appropriate time for the operations of the computer system in case of an occurrence of a keyboard interrupt cannot be seen in many of the conventional speech recognition systems using a keyboard interrupt routine. Thus, the keyboard interrupt sometimes occurs even at a phase unsuitable for the operation of the computer system. For instance, when the main application program is executing a critical job and is in a "busy" state, the occurrence of the keyboard interrupt may sometimes cause an operational problem of the computer system or other kind of trouble. Accordingly, the above described concept has to be incorporated into the speech recognition system employing a keyboard interrupt routine to develop a useful and reliable system for practical use.
Further, the conventional speech recognition system supplies an interrupt signal when the speech recognition is completed, and this interrupt signal when received is used to allow a set of characters corresponding to the recognition results to be transferred to the keyboard buffer. When the computer system is executing another key input processing and another speech input processing in a parallel manner, there is a possibility that a keyboard information transferred from the keyboard to the keyboard buffer will be destroyed by a speech information obtained through the speech recognition. In addition, in the case of the conventional speech recognition system, it is difficult to modify standardized speech patterns which are generated by a different program in accordance with the speech recognition results and are pre-recorded in a memory provided within the speech recognition system.